<?php
/**

 //  DoYouHaoBaby-X Ucenter ( DoYouHaoBaby-X 计划 )
 //  +---------------------------------------------------------------------
 //
 //  “Copyright”
 //  +---------------------------------------------------------------------
 //	 | (C) 2010 - 2011 http://doyouhaobaby.net All rights reserved.
 //	 | This is not a free software, use is subject to license terms
 //  +---------------------------------------------------------------------
 //
 //  “About This File”
 //  +---------------------------------------------------------------------
 //	 | Ucenter 用户控制器
 //  +---------------------------------------------------------------------

*/

!defined( 'DYHB_PATH' ) && exit;

class UserController extends InitController{


   /**
    * 用户数据查询过滤
    */
   public function filter_( &$arrMap ){

       $arrMap ['user_id'] = array( 'gt',1 );
       $arrMap ['user_name'] = array( 'like','%'.Safe::getGpc( 'user_name','P' ).'%' );
   }

   /**
    * 用户名检测
    */
    public function checkusername( ){

       $sUserName = Safe::getGpc( 'user_name','R' );

	   if( !empty( $sUserName ) ) {

	   	   // 检测用户名是否符合期待的格式
	   	   // 启动日常验证检测程序
	       Check::RUN();
	       if( !Check::C( $sUserName,'number_underline_english' ) ){

   	   	       $this->E( G::L( '用户名只能由数字，下划线，字母组成' ) );
   	       }

           $arrUser = UserModel::F()->getByuser_name( $sUserName )->toArray( );

           if( !empty( $arrUser['user_id'] ) ) {

                $this->E( G::L( '用户名已经存在' ) );

            }

            else{

                $this->S( G::L( '用户名可以使用!') );
            }

        }

        else{

            $this->E( G::L( '用户名必须' ) );
        }

   }

   /**
    * 重设密码
    */
   public function resetpassword( ){

   	   $nId = intval( Safe::getGpc( 'id' ) );
   	   $sPassword = Safe::getGpc( 'password' );

       if( !empty( $sPassword ) ){

       	   // 修改密码
           UserModel::M( )->changePassword( $nId,$sPassword,null,true );

           // 捕获行为插件中的错误
           if( UserModel::M()->isBehaviorError() ){

               $this->E( UserModel::M()->getBehaviorErrorMessage());
           }

	       else{

	   	       // 取得用户模型
   	           $oUser = UserModel::F( 'user_id =?',$nId )->query();

   	           // 捕获错误
	           if( $oUser->isError() ){

	     	       $this->E( $oUser->getErrorMessage( ) );
	          }

	   	      $this->S( G::L( '密码修改成功！' ) );
	     }
     }

     else{

   	   	 $this->E( G::L( '密码不能为空！' ) );
     }

  }


}
